﻿<html lang="en" xmlns="http://www.w3.org/1999/xhtml">

<body>
    1.简单工厂模式：*用一个单独的类进行创造实例的过程   <br />
    
    2.策略模式： *定义了算法家族，分别封装起来，让它们之间可以互相替换，此模式让算法的变化不会影响到使用算法的用户，
                Strategy类，定义所有支持算法的公共接口。<br />
                 *当不同的行为堆砌在一个类中时，就很难避免使用条件语句来选择合适的行为。将这些行为封装在一个个独立的Strategy类中，
                可以在使用这些行为的类中消除条件语句。
        优点：   *从概念上来看，所有算法完成的都是相同的工作，只是实现不同，策略模式以相同的方式调用所有的方法，减少了
                各种算法类与使用算法类之间的耦合。 <br />
                 *简化了单元测试，每个算法都有自己的类，可以通过自己的接口单独测试。 <br />

    3.单一模式：*就一个类而言，应该仅有一个引起它变化的原因。   <br />

    4.开放封闭原则：*软件实体应该可以扩展，但是不可以修改。    <br />

    5.依赖倒转原则：*高层模块不应该依赖于底层模块，两者都应该依赖于抽象。
                    *抽象不应该依赖于细节，细节应该依赖于抽象。
                     就是要针对接口编程，而不是对实现编程。 <br />
    
    6.装饰模式：*动态地给一个对象添加一些额外的职责，就增加功能而言，装饰模式比生成子类更为灵活。 <br />

    7.代理模式：*为其他对象提供一种代理以控制对这个对象的访问。 <br />

    8.工厂模式：*定义一个用于创建对象的接口，让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。   <br />

    9.原型模式：*用原型实例指定创建对象的种类，并且通过拷贝这些原型创建新的对象。 <br />

    10.模板方法模式：*定义一个操作中的算法的骨架，而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构
                      即可重定义该算法的某些特定步骤。 <br />

    11.迪米特法则：*如果两个类不必彼此直接通信，那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的
                    某一个方法的话，可以通过第三者转发这个调用。<br />

    12.外观模式：*为子系统中的一组接口提供一个一致的界面，此模式定义了一个高层接口，这个接口使得这一子系统更加容易使用。 <br />

    13.建造者模式：*将一个复杂对象的构建和它的表示分离，使得同样的构建过程可以创造不同的表示。 <br />

    14.观察者模式：*定义了一种一对多的依赖关系，让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时，会通知
                    所有观察者对象，让它们能够自动更新自己。 <br />

    15.抽象工厂模式：*提供一个创建一系列相关或相互依赖对象的接口，而无需指定他们具体的类。<br />

    16.状态模式：*当一个对象的内在状态改变时允许改变其行为，这个对象看起来像是改变了其类。<br />

    17.适配器模式：将一个类的接口转换成客户希望的另外一个接口。Adapter使得原本由于接口不兼容而不能一起工作的那些类
                   可以一起工作。 <br />

    18.备忘录模式：*在不破坏封装性的前提下，捕获一个对象的内部状态，并在该对象之外保存这个状态。这样以后就可将该对象
                    恢复到原先保存的状态。 <br />

    19.组合模式：*将对象组合成树形结构以表示'部分-整体'的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

    20.单例模式：*保证一个类仅有一个实例，并提供一个访问它的全局访问点。

    21.桥接模式：*将抽象部分与它的实现部分分离，使它们都可以独立地变化。

    22.命令模式：*将一个请求封装为一个对象，从而使你可用不同的请求对客户进行参数化；对请求排队或记录请求日志，以及支持可撤销
                 的操作。

    23.职责链模式：*使多个对象都有机会处理请求，从而避免请求的发送者和接受者直接的耦合关系。将这个对象连成一条链，并沿着这条链
                    传递此请求，直到有一个对象处理它为止。

    24.享元模式：*运用共享技术有效地支持大量细粒度的对象。


</body>
</html>